Pandas:多级索引的操作--调整顺序、排序、汇总、指定列为索引

import numpy as np
import pandas as pd
from pandas import Series,DataFrame
df = DataFrame(np.arange(12).reshape((4,3)),
                 index = [['a','a','b','b'],[1,2,1,2]],
                 columns = [['Ohio','Ohio','Colorado'],['Green','Red','Green']])
df.index.names = ['key1','key2']
df.columns.names = ['state','color']
print(df)
state      Ohio     Colorado
color     Green Red    Green
key1 key2                   
a    1        0   1        2
     2        3   4        5
b    1        6   7        8
     2        9  10       11

一、调整多级索引间的顺序

print(df.swaplevel('key1','key2'))
state      Ohio     Colorado
color     Green Red    Green
key2 key1                   
1    a        0   1        2
2    a        3   4        5
1    b        6   7        8
2    b        9  10       11

二、对某级别索引排序

print(df.sort_index(level=1))
state      Ohio     Colorado
color     Green Red    Green
key1 key2                   
a    1        0   1        2
b    1        6   7        8
a    2        3   4        5
b    2        9  10       11

三、根据某级别索引进行汇总

print(df.sum(level='color',axis=1))
color      Green  Red
key1 key2            
a    1         2    1
     2         8    4
b    1        14    7
     2        20   10

四、指定DataFrame的列为索引

data = {'种类':['苹果','梨','草莓'],
    '数量':[3,2,5],
       '价格':[10,9,8]}
df = DataFrame(data)

指定

df = df.set_index('种类')
print(df)
    价格  数量
种类        
苹果  10   3
梨    9   2
草莓   8   5

还原

print(df.reset_index())
   种类  价格  数量
0  苹果  10   3
1   梨   9   2
2  草莓   8   5
  • 3
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BQW_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值